package com.futvan.z.framework.tags;

import com.futvan.z.framework.core.SuperTag;
import com.futvan.z.framework.core.z;
import com.futvan.z.system.zform.z_form_table;
import com.futvan.z.system.zreport.z_report;
import com.futvan.z.system.zreport.z_report_button;
import com.futvan.z.system.zreport.z_report_column;

import javax.servlet.jsp.JspException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class REditPage extends SuperTag {
	private String userid;//用户ID
	private String pageType;//页面类型
	private HashMap<String,String> parameter;//所有参数
	@Override
	public int doEndTag() throws JspException {
		StringBuffer out_html = new StringBuffer();
		try {
			//获取报表ID
			String zid = parameter.get("zid");
			z_report r = z.reports.get(zid);
			parameter.put("reportid",r.getReportid());
			List<z_report_column> columnList = r.getZ_report_column_list();
			List<z_report_button> buttonList = r.getZ_report_button_list();
			
			out_html.append("<div data-options=\"region:'north'\" class=\"border-0\" style=\"height:"+getNorthHeight(parameter.get("is_mobile"))+"px;overflow:hidden;\">").append("\r\n");

			//创建按钮
			CreateFunctionHtmlR(buttonList,out_html,pageType,userid,r,parameter);

			//创建按钮行
			out_html.append("</div>").append("\r\n");

			//创建表单
			CreateFormR(out_html,r,pageType,parameter);

			//创建JS方法
			CreateJSR(out_html,buttonList,userid,parameter);

		} catch (Exception e) {
			throw new JspException("REditPage:自定义标签构建错误："+e.getMessage());
		}
		//输出HTML
		outHTML(out_html.toString());
		return super.doEndTag();
	}
	
	/**
	 * @return userid
	 */
	public String getUserid() {
		return userid;
	}
	/**
	 * @param userid 要设置的 userid
	 */
	public void setUserid(String userid) {
		this.userid = userid;
	}
	
	/**
	 * @return pageType
	 */
	public String getPageType() {
		return pageType;
	}
	/**
	 * @param pageType 要设置的 pageType
	 */
	public void setPageType(String pageType) {
		this.pageType = pageType;
	}
	/**
	 * @return parameter
	 */
	public HashMap<String, String> getParameter() {
		return parameter;
	}
	/**
	 * @param parameter 要设置的 parameter
	 */
	public void setParameter(HashMap<String, String> parameter) {
		this.parameter = parameter;
	}
}
